
package org.soekrat.gui.swing.textcloud;

/**
 * <p>
 *   Interface for objects that renders a cloud of text.
 * </p>
 * @author Arne Halvorsen (AH)
 */
public interface TextCloud extends Iterable<CloudText>
{
  /**
   * <p>
   *   Sets number of lines of text cloud should try to make if has enough 
   *   content.
   * </p>
   * @param n Count.
   */
  void setLines(int n);
  
  /**
   * <p>
   *   Gets number of lines of text cloud should try to make if has enough 
   *   content.
   * </p>
   * @return Count.
   */
  int getLines();
  
  /**
   * <p>
   *   Adds 
   *   {@link CloudText} to be rendered.
   * </p>
   * @param text {@link CloudText} to add.
   */
  void add(CloudText text);
  
  /**
   * <p>
   *   Remove
   *   {@link CloudText} rendered.
   * </p>
   * @param text 
   */
  void remove(CloudText text);
  
}
